import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description:给你一个二叉树的根节点 root ，按 任意顺序 ，返回所有从根节点到叶子节点的路径。
 *
 * 叶子节点 是指没有子节点的节点。
 * User: wangxin
 * Date: 2025-04-21
 * Time: 21:48
 */
public class Test5 {
    List<String> res = new ArrayList<>();
    public List<String> binaryTreePaths(TreeNode root) {
        StringBuffer path = new StringBuffer();
        dfs(root,path);
        return res;
    }
    void dfs(TreeNode root,StringBuffer _path){
        StringBuffer path = new StringBuffer(_path);
        path.append(root.val);
        if(root.left == null&&root.right == null){
            res.add(path.toString());
        }
        path.append("->");
        if(root.left != null) dfs(root.left,path);
        if(root.right != null) dfs(root.right,path);
    }
}
